package orm

import (
	"database/sql"
)

// 数据库
type DB struct {
	db      *sql.DB
	adaptor Adaptor
}

// 打开数据库
func Open(driverName, dataSourceName string, adaptor Adaptor) (*DB, error) {
	db, err := sql.Open(driverName, dataSourceName)
	return &DB{
		db:      db,
		adaptor: adaptor,
	}, err
}

// 开始事务
func (db *DB) Begin() (*Tx, error) {
	tx, err := db.db.Begin()
	return newTx(db, tx), err
}

// 关闭数据库
func (db *DB) Close() error {
	return db.db.Close()
}
